package interfaces;

import lib.Location;

/**
 * Defines the methods associated with the state of a given Cell
 * @version 1.0
 */
public interface Cell {
	
	
	/**
	 * Uses user specified rules to determine the state of the
	 * cell in the next step of the automaton
	 * @param w the current World
	 * @param loc the location in which the rules are applied
	 */
	public Cell transform(World w, Location loc);
	/**
	 *  We need a name of each type of cell so that we can map
	 *  the name to a certain Display of the cell
	 * @return The name of the Cell
	 *
	 */
	public String getName();
	
}
